package org.gpp.proj1.communication.sender.manager;

import java.util.Collection;

import org.gpp.proj1.communication.listener.OfflineClientListener;
import org.gpp.proj1.communication.sender.RequestSenderIF;

public interface RequestSenderManagerIF {

	public void notifyConnected(String clientUUId, RequestSenderIF requestSender );

	public void notifyDisconnected(String clientUUId );

	public boolean contains(String clientUUId);

	public RequestSenderIF getSender(String clientUUId);

	public Collection<RequestSenderIF> getSenders();

	public void remove( String clientId );

	public void registerOfflineClientListener(OfflineClientListener listener);
	
	public void notifyUndeliveredMessage();

	public void notifyDisconnected();

	public void stop();
}
